You like quadratics? Here's 7 more
The following '7 quadratics' work was done on the morning of 5th Jan 2005 (my 59th birthday)
The seven quadratics given here are those whose prime values produce the even squares in the cubes-squares relationship, in the sense that:
Theorem . ...
>
P[1,3] := proc(p) local r, k; r := 1;
for k from 2 to (p-1)/3 do
r := mods(r*k, p) od; r; end:
>
>
poly0 := 108*R^2 + 1; # r = 2*R in 1+27*r^2
a0 := 108; b0 := 0; c0 := 1;
Delta0 := b0^2 - 4*a0*c0;
sqrt(Delta0);
>
I need to solve
(1)
, subject to
r
even
. So, I need
R
(mod 7), then
r = 2W
(2)
, subject to
r
even
. So, I need
R
(mod 13), then
r = 2W
(3)
, subject to
r
even
. So, I need
R
(mod 19), then
r = 2W
(1) The 7 p case
> msolve(1 + 27*(2*W)^2 = 0, 7); # so W=7R+3, 4
Thus r is defined by r = 2W = 14R + 6 or 8
>
i := 1:
poly||i := sort(expand((1+27*(14*R+6)^2)/7)); # r=14*R+6
a||i := op(1, op(1, poly||i));
b||i := op(1, op(2, poly||i));
c||i := op(1, op(3, poly||i));
Delta||i := b||i^2 - 4*a||i*c||i;
sqrt(Delta||i);
>
i := 2:
poly||i := sort(expand((1+27*(14*R+8)^2)/7)); # r = 14*R+8
a||i := op(1, op(1, poly||i));
b||i := op(1, op(2, poly||i));
c||i := op(1, op(3, poly||i));
Delta||i := b||i^2 - 4*a||i*c||i;
sqrt(Delta||i);
> poly1; poly2;
>
(2) The 13 p case
> msolve(1 + 27*(2*W)^2 = 0, 13); # so W = 13R+4, 9
Thus r is defined by r = 2W = 26R + 8 or 18
>
i := 3:
poly||i := sort(expand((1+27*(26*R+8)^2)/13)); # r = 26*R+8
factor(poly||i);
a||i := op(1, op(1, poly||i));
b||i := op(1, op(2, poly||i));
c||i := op(1, op(3, poly||i));
Delta||i := b||i^2 - 4*a||i*c||i;
sqrt(Delta||i);
>
i := 4:
poly||i := sort(expand((1+27*(26*R+18)^2)/13)); # r = 26R+18
a||i := op(1, op(1, poly||i));
b||i := op(1, op(2, poly||i));
c||i := op(1, op(3, poly||i));
Delta||i := b||i^2 - 4*a||i*c||i;
sqrt(Delta||i);
> poly3; poly4;
>
(3) The 19 p case
> msolve(1 + 27*(2*W)^2 = 0, 19); # so W = 13R+4, 15
Thus r is defined by r = 2W = 38R + 8 or 30
>
i := 5:
poly||i := sort(expand((1+27*(38*R+8)^2)/19)); # r = 38*R+8
a||i := op(1, op(1, poly||i));
b||i := op(1, op(2, poly||i));
c||i := op(1, op(3, poly||i));
Delta||i := b||i^2 - 4*a||i*c||i;
sqrt(Delta||i);
>
i := 6:
poly||i := sort(expand((1+27*(38*R+30)^2)/19)); # r = 38*R+30
a||i := op(1, op(1, poly||i));
b||i := op(1, op(2, poly||i));
c||i := op(1, op(3, poly||i));
Delta||i := b||i^2 - 4*a||i*c||i;
sqrt(Delta||i);
> poly5; poly6;
>
> for i from 0 to 6 do [i, poly||i] od;
>
The primes in the first of those seven sets of primes { p } - the ones generated by - are rather special:
each has the beautiful property that (mod p )
i.e. (mod p )
I had observed those primes yesterday (4th Jan), but only now (5th Jan) do they make sense , in terms of having that polynomial structure to them.
In terms of the Berndt, Evans, and Williams binomial coefficients theorems in Chapter 9, those primes have the property that
(mod p )
> with(numtheory):
>
i := 0:
for R from 0 to 30 do
if isprime(poly||i(R)) then print(poly||i(R),
(poly||i(R) - 1)/order(P[1,3](poly||i(R)), poly||i(R))) fi od;
>
i := 1:
for R from 0 to 30 do
if isprime(poly||i(R)) then print(poly||i(R),
(poly||i(R) - 1)/order(P[1,3](poly||i(R)), poly||i(R))) fi od;
>
i := 2:
for R from 0 to 30 do
if isprime(poly||i(R)) then print(poly||i(R),
(poly||i(R) - 1)/order(P[1,3](poly||i(R)), poly||i(R))) fi od;
>
i := 3:
for R from 0 to 30 do
if isprime(poly||i(R)) then print(poly||i(R),
(poly||i(R) - 1)/order(P[1,3](poly||i(R)), poly||i(R))) fi od;
>
i := 4:
for R from 0 to 30 do
if isprime(poly||i(R)) then print(poly||i(R),
(poly||i(R) - 1)/order(P[1,3](poly||i(R)), poly||i(R))) fi od;
>
i := 5:
for R from 0 to 30 do
if isprime(poly||i(R)) then print(poly||i(R),
(poly||i(R) - 1)/order(P[1,3](poly||i(R)), poly||i(R))) fi od;
>
i := 6:
for R from 0 to 30 do
if isprime(poly||i(R)) then print(poly||i(R),
(poly||i(R) - 1)/order(P[1,3](poly||i(R)), poly||i(R))) fi od;
>
Procedure to calculate the Jacobi binomial coefficients mod p :
(mod p ) for prime p with p = 1 (mod 3)
>
J_bin := proc(p) local r1, k, r2;
r1 := 1;
for k from 2 to (p-1)/3 do
r1 := r1*k mod p od;
r2 := (p+2)/3;
for k from (p+5)/3 to 2*(p-1)/3 do
r2 := r2*k mod p od;
r2/r1 mod p; end:
J_bin_la := proc(p) mods(J_bin(p), p) end:
>
> p := 3889: J_bin_la(p);
> L := [109, 433, 3889, 18253, 21169, 43201, 47629, 73009, 84673, 139969];
> for p in L do [p, J_bin_la(p)] od;
>